﻿#pragma once

#include "Misc/EngineEditorMacros.h"
#include "MaterialGraph/Node/MaterialGraphNodeViewModel.h"
#include "MaterialVectorNodeViewModel.m.h"

class RMaterialGraphNodeModel;
class RMaterialVectorNodeModel;
class RMaterialGraphPinViewModel;

RCLASS()
class RMaterialVectorNodeViewModel : public RMaterialGraphNodeViewModel
{
    ROBJECT
    
public:
    virtual void BindModel(
        TSharedObjectPtr<RMaterialGraphNodeModel> InModel
        , TSharedObjectPtr<RMaterialGraphViewModel> InGraph
        )  override;

    virtual float GetNodeWidth() const  override{ return 200.0f; }
    virtual int64_t GetLineNum() const override;
    virtual CString GetName() const override { return U"向量";};
    virtual CString GetInputPinName(int64_t Index) const override;
    virtual CString GetOutputPinName(int64_t Index) const ;
protected:
    TWeakObjectPtr<RMaterialVectorNodeModel> VectorModel;

};